---
title: SAIF.Application.Claim operations and processes
summary: Business and technical operations supported by this library.
status: draft
owner: SAIF Documentation Generator
last_reviewed: 2026-08-21
library: SAIF.Application.Claim
reference_type: embedded
---

# SAIF.Application.Claim operations and processes

This page is the operation catalog and cross-operation hub for this library. Each operation's detailed, step-by-step logic lives in its own page under `operations/`.

## Operation catalog
| Operation | Intent | Trigger | Inputs | Outputs | Rules | SQL |
| --- | --- | --- | --- | --- | --- | --- |
| [Establish claim context and load a claim](operations/establish-claim-context.md) | Bind a manager to a claim and load its data | UI screen or derived manager binds a claim | Claim number, claim id, or worker id | Populated `ClaimData`, access classification, user message | [BR-CLM-001](business-rules.md#br-clm-001-claim-context-key-validation), [BR-CLM-002](business-rules.md#br-clm-002-claim-context-immutability), [BR-CLM-003](business-rules.md#br-clm-003-fixed-context-change-pipeline-order), [BR-CLM-004](business-rules.md#br-clm-004-context-validity-requires-a-valid-retrieved-claim) | — |
| [Evaluate claim access](operations/evaluate-claim-access.md) | Determine confidentiality access for the current claim | Invoked from `ChangeContext` | `ClaimData`, `SecurityPrincipal` | `ClaimSecurity` flags, `AppSecurityRole`, denial message | [BR-CLM-005](business-rules.md#br-clm-005-view-only-by-default), [BR-CLM-006](business-rules.md#br-clm-006-conflict-claim-denial-with-override), [BR-CLM-011](business-rules.md#br-clm-011-confidential-access-denial-referral), [BR-CLM-012](business-rules.md#br-clm-012-only-conflict-dimension-auto-blocks) | — |
| [Recompute per-claim access flags](operations/recompute-access-flags.md) | Translate claim sensitivity attributes into access flags | Called from claim access evaluation or directly by a consumer | `clsClaimData` | Four boolean access flags | [BR-CLM-007](business-rules.md#br-clm-007-conflict-claim-access-flag), [BR-CLM-008](business-rules.md#br-clm-008-exposure-claim-access-flag), [BR-CLM-009](business-rules.md#br-clm-009-health-issue-access-flag), [BR-CLM-010](business-rules.md#br-clm-010-secure-claim-access-flag) | — |
| [Initialize the claim manager and data layer](operations/initialize-data-layer.md) | Provision the Oracle claim data portal | `AppManagerBase.Initialize()` template method | none | `IDataPortalInfo` handle (`ClaimDPI`) | [BR-CLM-013](business-rules.md#br-clm-013-claim-database-user-pinned-to-clm), [BR-CLM-014](business-rules.md#br-clm-014-connection-failure-surfaces-as-application-exception) | — |
| [Transaction-bracketed save](operations/transaction-bracketed-save.md) | Persist claim changes inside a managed transaction | UI save action on a derived manager | none (uses current context) | Success flag | [BR-CLM-015](business-rules.md#br-clm-015-single-transaction-per-save), [BR-CLM-016](business-rules.md#br-clm-016-commit-only-on-success) | — |
| [Generate and save claim tasks](operations/generate-save-claim-tasks.md) | Raise and persist claim tasks during a save | Derived manager needing to raise claim tasks | `inMultiClaim` flag | Success flag | [BR-CLM-017](business-rules.md#br-clm-017-task-generator-claim-binding), [BR-CLM-018](business-rules.md#br-clm-018-empty-task-set-always-saves-successfully) | — |
| [Retrieve](operations/retrieve.md) | Gate screen-data retrieval on a valid context | `Retrieve()` call | none | Always `False` | [BR-CLM-019](business-rules.md#br-clm-019-valid-context-requires-set-allowed-and-valid-claim), [BR-CLM-020](business-rules.md#br-clm-020-retrieve-never-reports-success) | — |
| [Resolve ancillary handles](operations/resolve-ancillary-handles.md) | Build the claim application title, employee data, and imaging client | First access of `ApplicationTitle`, `EmployeeData`, or `ClaimImageApiClient` | Current claim/user context | Title string, employee record, imaging client | [BR-CLM-021](business-rules.md#br-clm-021-application-title-composition), [BR-CLM-022](business-rules.md#br-clm-022-imaging-endpoint-resolved-once-per-manager) | — |

## Process flow diagram
The following diagram visualizes the primary operational flow across operations.

```mermaid
flowchart TD
	Start([Set*Context called]) --> Valid{Key valid?}
	Valid -->|No| ClearCtx(["Message: enter valid claim<br>number"])
	Valid -->|Yes| ChangeCtx[ChangeContext]
	ChangeCtx --> Retrieve1[OnContextChanged: load claim]
	Retrieve1 --> Found{Claim valid?}
	Found -->|No| NotFound([Message: claim not found])
	Found -->|Yes| CheckSec["OnCheckSecurity: evaluate<br>access"]
	CheckSec --> Conflict{Conflict access denied?}
	Conflict -->|Yes, no override| NoAccess(["MarkNoAccess + denial<br>message"])
	Conflict -->|No, or override granted| ViewOnly[MarkViewOnly]
	ViewOnly --> OnRetrieve["OnRetrieve: derived screen<br>load"]
```

## Inherited operations and processes

Operations in this section originate from base classes or services provided by dependency framework libraries. They are inherited or delegated, not implemented in this library.

### From `AppManagerBase` (`SAIF.Application`)

| Operation | Intent | Provided by | Origin | Embedded in |
| --- | --- | --- | --- | --- |
| Initialize template method | Invokes `OnInitialize()` then `OnCreateDataLayer()` during manager construction | `AppManagerBase` | `SAIF.Application` | [Initialize the claim manager and data layer](operations/initialize-data-layer.md) |

> **Origin**: This operation is defined in `SAIF.Application` / `AppManagerBase` and inherited or delegated by this component. Its step-by-step logic is embedded inline (with `> Origin` callouts) in the consuming operation's detail page.

## Database interactions

This library owns no SQL; all claim data access is delegated to `SAIF.BOF.Business.View.Claim` (`clsClaimData`, `clsEmployeeData`, `ClaimServices`) and claim task persistence to `SAIF.Business.Tasks.Claim` (`clsClaimTaskGenerator`). No SQL objects or tables were traced within this library — see the operation detail pages for delegated call sites.**

## Failure and edge-case behavior
- An invalid claim key short-circuits context establishment with no database access ([BR-CLM-001](business-rules.md#br-clm-001-claim-context-key-validation)).
- A not-found claim leaves the context unset with a "claim not found" message; no exception is thrown.
- `OnCheckSecurity` dereferences `ClaimData` without a null guard; whether a worker-only context or a failed retrieval can reach this path in production is unknown.**
- A save failure (exception or `False` result) always rolls back the transaction ([BR-CLM-016](business-rules.md#br-clm-016-commit-only-on-success)).

## Related documentation
- [Index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Configuration](configuration.md)
- [Business rules](business-rules.md)
- [Security and authorization](security-authorization.md)
- [API reference](api/index.md)

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts. Statements
> marked with ** could not be confirmed; treat as unknown until verified.

## Sources
- `SAIF.Application.Claim/ClaimAppManager.vb`
- `SAIF.Application.Claim/ClaimSecurity.vb`
- `SAIF.Application.Claim/ClaimContext.vb`
- `SAIF.Application.Claim/ClaimAppConstants.vb`
